package net.hn.hnms.biz.power.service;

import net.hn.hnms.biz.api.feign.model.DataStateVo;
import net.hn.hnms.biz.common.jpa.utils.ResponsePage;
import net.hn.hnms.biz.power.domain.DeviceInfo;
import net.hn.hnms.biz.power.domain.HisSensorMonitor;
import net.hn.hnms.biz.power.domain.NowSensorMonitor;
import net.hn.hnms.biz.power.domain.PointHistoryListVo;
import net.hn.hnms.biz.power.domain.dto.PointDto;
import net.hn.hnms.biz.power.domain.vo.ChartDateVo;


import java.util.List;
import java.util.Map;

/**
 * 智呈物联 pan'sx
 * 2022/9/21 10:40
 * 1.0 version
 */
public interface PowerService {
    List<DeviceInfo> currentData(String systemCode, String mineCode);

    List<Map<String, Object>> powerSelect(String mineCode);

    /**
     * 设备分页列表
     * @param pageNum
     * @param pageSize
     * @param deviceInfo
     * @return
     */
    ResponsePage<DeviceInfo> devPage(int pageNum, int pageSize, DeviceInfo deviceInfo);

    /**
     *
     * @param pageNum
     * @param pageSize
     * @param nowSensorMonitor
     * @return
     */
    ResponsePage<NowSensorMonitor> sensormonitorPageList(int pageNum, int pageSize, NowSensorMonitor nowSensorMonitor);

    /**
     *
     * @param pageNum
     * @param pageSize
     * @param hisSensorMonitor
     * @return
     */
    ResponsePage<HisSensorMonitor> hisSensormonitorPageList(int pageNum, int pageSize, HisSensorMonitor hisSensorMonitor);


    /**
     * 条件查询历史数据测点曲线
     * @param pointDto
     * @return
     */
    ChartDateVo pointHistoryCurve(PointDto pointDto);

    /**
     * 条件查询历史数据测点列表
     * @param pointDto
     * @return
     */
    List<PointHistoryListVo> pointHistoryList(PointDto pointDto);

    List<DataStateVo> getMaxTime(String mineCode, String companyCode);
}
